package pe.com.bbva.targps.domain;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Transient;

import pe.com.stefanini.core.domain.EntidadBase;

@Entity
@Table(name = "TTARGPS_TARJETA", schema = "TARGPS")
@SequenceGenerator(name = "SEQ_TARJETA", sequenceName = "TARGPS.SEQ_TARGPS_TARJETA", allocationSize = 1, initialValue = 1)
public class Tarjeta extends EntidadBase {
	private static final long serialVersionUID = 1L;
	private Long id;
	private Long idProcesoCarga;
	private Date fechaProceso;
	private String numTarjeta;
	private String codTarjeta;
	private String descripcion;
	private Date fechaEstampacion;
	private Long idTurno;
	private String tamanio;
	private String tipoSolicitud;
	private String tipoArchivo;
	private String oficina;
	private Long tipoDocumento;
	private String numDocumento;
	private String material;
	private Date fechaCoordinacion;
	private String formFacturacion;
	private String tecnologia;
	private String referencia;
	private Date fechaFacturacion;
	private String estadoFacturacion;
	private String bin;
	private String codUbigeo;
	private String codCourier;

	@Id
	@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="SEQ_TARJETA")
	@Column(name="NID_TARJETA")
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}

	@Column(name="NID_PROCESO_CARGA", length=19)
	public Long getIdProcesoCarga() {
		return idProcesoCarga;
	}
	public void setIdProcesoCarga(Long idProcesoCarga) {
		this.idProcesoCarga = idProcesoCarga;
	}

	@Column(name="FEC_PROCESO", length=19)
	public Date getFechaProceso() {
		return fechaProceso;
	}
	public void setFechaProceso(Date fechaProceso) {
		this.fechaProceso = fechaProceso;
	}
	
	@Column(name="NUM_TARJETA", length=19)
	public String getNumTarjeta() {
		return numTarjeta;
	}
	public void setNumTarjeta(String numTarjeta) {
		this.numTarjeta = numTarjeta;
	}

	@Column(name="TXT_DESCRIPCION", length=19)
	public String getDescripcion() {
		return descripcion;
	}
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	@Column(name="FEC_ESTAMPACION", length=19)
	public Date getFechaEstampacion() {
		return fechaEstampacion;
	}
	public void setFechaEstampacion(Date fechaEstampacion) {
		this.fechaEstampacion = fechaEstampacion;
	}
	
	@Column(name="NID_TURNO", length=19)
	public Long getIdTurno() {
		return idTurno;
	}
	public void setIdTurno(Long idTurno) {
		this.idTurno = idTurno;
	}

	@Column(name="CID_TAMANIO", length=19)
	public String getTamanio() {
		return tamanio;
	}
	public void setTamanio(String tamanio) {
		this.tamanio = tamanio;
	}

	@Column(name="CID_TIPO_SOLI", length=19)
	public String getTipoSolicitud() {
		return tipoSolicitud;
	}
	public void setTipoSolicitud(String tipoSolicitud) {
		this.tipoSolicitud = tipoSolicitud;
	}
	
	
	@Column(name="CID_TIPO_ARCH", length=19)
	public String getTipoArchivo() {
		return tipoArchivo;
	}
	public void setTipoArchivo(String tipoArchivo) {
		this.tipoArchivo = tipoArchivo;
	}

	@Column(name="COD_OFICINA", length=19)
	public String getOficina() {
		return oficina;
	}
	public void setOficina(String oficina) {
		this.oficina = oficina;
	}

	@Column(name="CID_TIPO_DOCU", length=19)
	public Long getTipoDocumento() {
		return tipoDocumento;
	}
	public void setTipoDocumento(Long tipoDocumento) {
		this.tipoDocumento = tipoDocumento;
	}

	@Column(name="CID_NUM_DOCU", length=19)
	public String getNumDocumento() {
		return numDocumento;
	}
	public void setNumDocumento(String numDocumento) {
		this.numDocumento = numDocumento;
	}
	
	@Column(name="COD_MATERIAL", length=19)
	public String getMaterial() {
		return material;
	}
	public void setMaterial(String material) {
		this.material = material;
	}

	@Column(name="FEC_COORDINACION", length=19)
	public Date getFechaCoordinacion() {
		return fechaCoordinacion;
	}
	public void setFechaCoordinacion(Date fechaCoordinacion) {
		this.fechaCoordinacion = fechaCoordinacion;
	}
	
	@Column(name="CID_FORM_FACT", length=19)
	public String getFormFacturacion() {
		return formFacturacion;
	}
	public void setFormFacturacion(String formFacturacion) {
		this.formFacturacion = formFacturacion;
	}

	@Column(name="CID_TECNOLOGIA", length=2)
	public String getTecnologia() {
		return tecnologia;
	}
	public void setTecnologia(String tecnologia) {
		this.tecnologia = tecnologia;
	}
	
	@Column(name="CID_REFERENCIA", length=6)
	public String getReferencia() {
		return referencia;
	}
	public void setReferencia(String referencia) {
		this.referencia = referencia;
	}
	
	@Column(name="COD_TARJETA", length=4)
	public String getCodTarjeta() {
		return codTarjeta;
	}
	public void setCodTarjeta(String codTarjeta) {
		this.codTarjeta = codTarjeta;
	}
	
	@Column(name="FEC_FACTURACION")
	public Date getFechaFacturacion() {
		return fechaFacturacion;
	}
	public void setFechaFacturacion(Date fechaFacturacion) {
		this.fechaFacturacion = fechaFacturacion;
	}
	
	@Column(name="ESTADO_FACTURACION")
	public String getEstadoFacturacion() {
		return estadoFacturacion;
	}
	public void setEstadoFacturacion(String estadoFacturacion) {
		this.estadoFacturacion = estadoFacturacion;
	}
	
	@Transient
	public String getBin() {
		return bin;
	}
	public void setBin(String bin) {
		this.bin = bin;
	}
	
	@Column(name="COD_UBIGEO")
	public String getCodUbigeo() {
		return codUbigeo;
	}
	public void setCodUbigeo(String codUbigeo) {
		this.codUbigeo = codUbigeo;
	}
	
	@Column(name="COD_COURIER")
	public String getCodCourier() {
		return codCourier;
	}
	public void setCodCourier(String codCourier) {
		this.codCourier = codCourier;
	}
}